package com.easy.common.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.easy.common.bean.SeckillActivity;

import java.util.List;

public interface ISeckillActivityService extends IService<SeckillActivity> {
    // 根据id获取秒杀活动信息
    SeckillActivity getActivityById(int id);

    // 根据名称获取秒杀活动信息
    SeckillActivity getActivityByName(String name);

    // 添加秒杀活动
    int addActivity(SeckillActivity activity);

    // 更新秒杀活动
    int updateActivity(SeckillActivity activity);

    // 删除秒杀活动（软删除）
    int deleteActivity(Integer id);

    // 修改活动状态
    int updateStatus(Integer id, Integer status);

    // 获取活动列表
    List<SeckillActivity> getAll(SeckillActivity activity);

    // 获取活动分页列表
    IPage<SeckillActivity> getPage(SeckillActivity activity, IPage<SeckillActivity> page);
    //启动秒杀活动 预热
    //1.秒杀的商品列表 skgoodsid 和数量
    //2.秒杀活动的状态,秒杀活动开始的时间戳(long)，秒杀活动结束的时间戳
    boolean startPreheat(Integer id);
    //启动秒杀活动
    boolean start(Integer id);
    //清空秒杀活动缓存数据
    //或者在添加缓存时,做好超时定义
    boolean clear(Integer id);
}
